package T3.Paquetes;

/*Esta clase es p�blica, por lo tanto formar� parte de la interfaz del paquete*/
public class ClasePaquete2{

	public void saludar(){
		System.out.println("Hola");
		//por supuesto, la clase puede acceder a sus m�todos privados
		this.privado();
		//protegidos
		this.visibilidadProtegida();
		//y de paquete
		this.visibilidadPaquete();		
       //aqu� usamos los "detalles de implementaci�n" del paquete
	    ClasePaquete2Privada objeto2 = new ClasePaquete2Privada();
	    //por supuesto, pueda acceder a su parte p�blica
	    objeto2.visibilidadPublica();
	    //y, como estoy en el mismo paquete, a la parte comisar�a de paquete
	    objeto2.visibilidadPaquete ();
	    //tambien a la parte protegida porque estamos en el mismo paquete
	    objeto2.visibilidadProtegida ();
	    //pero no la privada; descomentar esta linea daria un error de compilacion
//	    objeto2.visibilidadPrivada ();
    }
    
    void visibilidadPaquete(){
	    System.out.println("Mensaje del m�todo con visibilidad de paquete");
   }
   
    protected void visibilidadProtegida(){
	    System.out.println("Mensaje del m�todo con visibilidad protegida");
   }

	private void privado (){
	    System.out.println("Mensaje del m�todo privado");
	}  
}
